﻿Public Class frmConsultaSolicitante
    Dim objBBL As New BLLSolicitante
#Region "Atualização"
    Sub Atualiza()
        cbFiltro.SelectedIndex = 1
        txtLocalizar.Text = ""
        dgSolicitante.DataSource = Nothing
    End Sub
    Sub CarregaGrid()
        Try
            Select Case cbFiltro.SelectedIndex
                Case 0
                    Dim cod As Integer = txtLocalizar.Text
                    dgSolicitante.DataSource = objBBL.localizar(cod)
                Case 1
                    dgSolicitante.DataSource = objBBL.Localizar(txtLocalizar.Text)
            End Select
            dgSolicitante.Columns(0).HeaderText = "Código"
            'Defino o Tamanho da Coluna do DataGridView
            dgSolicitante.Columns(0).Width = 70
            dgSolicitante.Columns(1).HeaderText = "Nome"
            dgSolicitante.Columns(1).Width = 200
            dgSolicitante.Columns(2).HeaderText = "Empresa"
            dgSolicitante.Columns(2).Width = 200
            dgSolicitante.Columns(3).HeaderText = "Telefone"
            dgSolicitante.Columns(3).Width = 130
            dgSolicitante.Columns(4).HeaderText = "Celular"
            dgSolicitante.Columns(4).Width = 130
            ' Defino Que a Coluna (5,6) Não Pode ser Mostrada Para o Usuário
            dgSolicitante.Columns(5).Visible = False
            dgSolicitante.Columns(6).Visible = False
            dgSolicitante.Columns(7).HeaderText = "Cidade"
            dgSolicitante.Columns(7).Width = 200
            dgSolicitante.Columns(8).HeaderText = "Email"
            dgSolicitante.Columns(8).Width = 250
            dgSolicitante.Columns(9).HeaderText = "Observação"
            dgSolicitante.Columns(9).Width = 200
        Catch ex As Exception
        Finally
            txtLocalizar.Focus()
        End Try

    End Sub
#End Region
#Region "Validação"
    Private Sub cbFiltro_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles cbFiltro.KeyPress
        e.Handled = True
    End Sub
    Private Sub txtLocalizar_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtLocalizar.KeyPress
        'Aqui Define o tipos de Caracteres que o TextBox Pode Aceitar
        'Se o ComboBox Estar no Indice 0(Código)
        If cbFiltro.SelectedIndex = 0 Then
            'Não deixo o Usuário Digitar Letras so Números
            'e Tambem libero para ele Poder Apagar o(s) Números
            If Not Char.IsNumber(e.KeyChar) And Not e.KeyChar = vbBack Then
                e.Handled = True
            End If
        End If
        If e.KeyChar = Convert.ToChar(Keys.Return) Then
            e.Handled = True
            bLocalizar_Click(sender, e)
        End If
    End Sub
    Private Sub cbFiltro_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)
        txtLocalizar.Text = ""
    End Sub
#End Region
    Private Sub tsbVoltar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbVoltar.Click
        Me.Close()
    End Sub

    Private Sub tsbNovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbNovo.Click
        frmSolicitante.tipo = "Novo"
        frmSolicitante.ShowDialog()
    End Sub

    Private Sub frmConsultaSolicitante_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Atualiza()
    End Sub
    Private Sub bLocalizar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bLocalizar.Click
        CarregaGrid()
    End Sub

    Private Sub tsbImprimir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tsbImprimir.Click
        Dim indice As Integer = -1
        Try
            For Each linha As DataGridViewRow In dgSolicitante.SelectedRows
                If (Not linha.Cells("ext_codigo") Is Nothing) Then
                    indice = linha.Index
                End If
            Next
            If (indice <> -1) Then
                Dim frm As New frmVisualizarImprimir
                frm.codigo = dgSolicitante.Rows(indice).Cells("ext_codigo").Value.ToString()
                frm.nome = dgSolicitante.Rows(indice).Cells("ext_nome").Value.ToString()
                frm.empresa = dgSolicitante.Rows(indice).Cells("ext_empresa").Value.ToString()
                frm.cidade = dgSolicitante.Rows(indice).Cells("ext_cidade").Value.ToString()
                frm.telefone = dgSolicitante.Rows(indice).Cells("ext_telefone").Value.ToString()
                frm.celular = dgSolicitante.Rows(indice).Cells("ext_celular").Value.ToString()
                frm.email = dgSolicitante.Rows(indice).Cells("ext_email").Value.ToString()
                frm.obs = dgSolicitante.Rows(indice).Cells("ext_obs").Value.ToString()
                frm.ShowDialog()
            Else
                MsgBox("Selecione um Solicitante para imprimir a ficha", MsgBoxStyle.Information)
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        Finally
        End Try

    End Sub

    Private Sub dgSolicitante_CellDoubleClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgSolicitante.CellDoubleClick
        Try

            If frmAgendamento.Tipo = "Retorno" Then
                Dim indice As Integer = -1
                'Percorre O DataGridView Verificando a Linha selecionada
                For Each linha As DataGridViewRow In dgSolicitante.SelectedRows
                    If (Not linha.Cells("ext_codigo") Is Nothing) Then
                        'Guarda A Posição Selecionada
                        indice = linha.Index
                    End If
                Next
                If (indice <> -1) Then
                    frmAgendamento.CodAge = dgSolicitante.Rows(indice).Cells("ext_codigo").Value.ToString()
                    frmAgendamento.DesAge = dgSolicitante.Rows(indice).Cells("ext_nome").Value.ToString()

                    Atualiza()
                    Me.Close()
                End If
            End If
        Catch ex As Exception
            MessageBox.Show(ex.Message)
        End Try
    End Sub
End Class
